package com.shujia.day04;

/*
    数组：是一块连续固定大小的内存空间，有着索引的概念

    定义数组的语句格式：
        数据类型[] 数组名;【推荐】
        数据类型 数组名[];

    如果只是定义一个数组的话，没有给初始化值，相当于一个变量没有值，是不能够直接使用的
    如何对一个数组进行初始化？
        1、动态初始化：我们自己给定数组的大小，数组中的默认值由JVM来赋值
        2、静态初始化：我们自己给元素值，由JVM根据我们给的值数量来设置数组的大小

    动态初始化语句定义格式：
        数据类型[] 数组名 = new 数据类型[元素的个数];

 */
public class ArrayDemo1 {
    public static void main(String[] args) {
        //定义一个存储int类型元素的数组
        //数据类型 变量名 = 初始化值;
        int[] arr = new int[3];
        /*
            左边：
                int: 表示该数组中元素的数据类型，需要一致
                []: 表示一个一维数组
                arr:是数组名，符合标识符变量的命名规则
            右边：
                new:将来看到new，表示在堆内存中开辟一个空间
                int: 表示该数组中元素的数据类型，需要一致
                []: 表示一个一维数组
                3: 表示该数组最大只能存储3个int类型的元素
         */

        System.out.println(arr); // [I@4554617c 地址值【16进制】
        //数组有索引的概念，从左向右，索引下标从0开始编号，我们可以通过这个索引下标来定位到具体位置的元素
        //语法格式：数组名[索引]
        //获取数组中的第一个元素
        int i = arr[0];
        System.out.println(i);
        //获取数组中的第二，三个元素
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        //我们以后使用数组的时候，肯定是希望将我们自己元素值放在数组中
        //将数组第一个元素值进行修改
        arr[0] = 100;
        System.out.println(arr[0]);

    }
}
